//当前这个模块：API进行统一管理
import requests from "./request";
import mockRequest from "./mockAjax";

//三级联动的接口
///api/product/getBaseCategoryList   get请求  无参数

//发请求 :axios发请求返回结果Promise对象
export const reqCategoryList = () => requests({ url: "/product/getBaseCategoryList", method: "get" });

//切记:当前函数执行需要吧服务器返回结果返回

//获取banner（Home首页轮播图接口）
export const reqGetBannerList = () => mockRequest.get("/banner");

//获取floor数据
export const reqFloorList = () => mockRequest.get("/floor");

//获取搜索模块数据  地址：/api/list   请求方式:post  参数：需要带参数
/* 
{
  "category3Id": "61",
  "categoryName": "手机",
  "keyword": "小米",
  "order": "1:desc",
  "pageNo": 1,
  "pageSize": 10,
  "props": ["1:1700-2799:价格", "2:6.65-6.74英寸:屏幕尺寸"],
  "trademark": "4:小米"
}

*/

//当前这个函数需不需要接受外部传递参数
//当前这个接口（获取搜索模块的数据），给服务器传递参数params，【至少是一个空对象】
export const reqGetSearchInfo = (params) =>
  requests({
    url: "/list",
    method: "post",
    data: params,
  });

///获取产品详情信息的接口 URL： /api/item/{ skuId }   请求方式：get
export const reqGoodsInfo = (skuid) =>
  requests({
    url: `/item/${skuid}`,
    method: "get",
  });

//将产品添加到购物车中（获取更新某一个产品的个数）
///api/cart/addToCart/{ skuId }/{ skuNum }   POST  (这些都是在接口文档中)
export const reqAddOrUpdateShopCart = (skuId, skuNum) =>
  requests({ url: `/cart/addToCart/${skuId}/${skuNum}`, method: "post" });

//获取购物车列表数据接口
///api/cart/cartList  method:get
export const reqCartList = () =>
  requests({ url: "/cart/cartList", method: "get" });

/* 
  删除购物车产品的接口
  url：/api/cart/deleteCart/{skuId} 
  mthod:DELETE
*/
export const reqDeleteCarById = (skuId) =>
  requests({ url: `/cart/deleteCart/${skuId}`, method: "delete" });

/* 
修改商品的选中状态
/api/cart/checkCart/{skuID}/{isChecked}
 method:get

*/
export const reqUpdayeCheckedById = (skuId, isChecked) =>
  requests({ url: `/cart/checkCart/${skuId}/${isChecked}`, method: "get" });

/*
获取验证码
URL:   /api/user/passport/sendCode/{phone}   method:get
*/

export const reqGetCode = (phone) => requests({ url: `/user/passport/sendCode/${phone}`, method: 'get' })

/* 
  用户注册接口
  url: /api/user/passport/register    method:post   带phone code password
*/

export const reqUserRegister = (data) => requests({ url: '/user/passport/register', data, method: 'post' })

/* 登录
  url:/api/user/passport/login
  method:post
  参数:phone,password
*/

export const reqUserLogin = (data) => requests({ url: '/user/passport/login', data, method: 'post' })

/* 获取用户信息【需要带着用户的token向服务器要用户信息】 
  添加了token校验获取用户登录信息，用户登录只保存用户的token，使用请求头，在响应拦截器里面
  URL:/api/user/passport/auth/getUserInfo 
  method:get
*/
export const reqUserInfo = () => requests({ url: '/user/passport/auth/getUserInfo', method: 'get' })

/* 退出登录
  URL:/api/user/passport/logout 
  method:get
*/
export const reqLogout = () => requests({ url: '/user/passport/logout', method: 'get' })

/* 
  获取用户地址信息
  /api/user/userAddress/auth/findUserAddressList
  get
*/
export const reqAddressInfo = () => requests({ url: '/user/userAddress/auth/findUserAddressList', method: 'get' })

/* 
  获取商品清单
  /api/order/auth/trade
  get
*/

export const reqOrderInfo = () => requests({ url: '/order/auth/trade', method: 'get' })

/* 
  提交订单的接口
  url: /api/order/auth/submitOrder?tradeNo={tradeNo}
  post
*/
export const reqSubmitOrder = (tradeNo, data) => requests({ url: `/order/auth/submitOrder?tradeNo=${tradeNo}`, data, method: 'post' })

/* 
  获取支付信息
  url:  /api/payment/weixin/createNative/{orderId}
  method:get
*/
export const reqPayInfo = (orderId) => requests({ url: `/payment/weixin/createNative/${orderId}`, method: 'get' })


/* 
  获取支付订单状态
  /api/payment/weixin/queryPayStatus/{orderId}
  get
*/
export const reqPayStatus = (orderId) => requests({ url: `/payment/weixin/queryPayStatus/${orderId}`, method: 'get' })

/* 
  获取个人中心的数据
  /api/order/auth/{page}/{limit}  page:页码 limit:每页显示数量
  get
*/

export const reqMyOrderList = (page, limit) => requests({ url: `/order/auth/${page}/${limit}`, method: 'get' })